import {login} from "../service/auth";
import {getUserInfo} from "../service/user";
import toast from './toast'

/**
 * 更新用户的缓存
 */
export const updateUserInfoCache = (callback = () => {}) => {
    // 请求用户信息了
    getUserInfo().then(res => {
        // 缓存用户信息
        wx.setStorageSync('userInfo', res)
        callback(res)
    })
}

/**
 * 跳转到来源页
 */
export const doBack = () => {
    // 跳转到来源页面
    wx.reLaunch({
        url: wx.getStorageSync('back_url')
    })
}

/**
 * 执行登录
 * @param data Object {email: '', password: ''}
 */
export const doLogin = (data, type = 'login') => {
    // 发送请求执行登录
    login(data).then(res => {
        // 缓存token
        wx.setStorageSync('access_token', res.access_token)
        // 请求用户信息了
        getUserInfo().then(res2 => {
            // 缓存用户信息
            wx.setStorageSync('userInfo', res2)
            const msg = type == 'login' ? '登录成功' : '注册成功'
            toast.success(msg, () => {
                // 在登录的情况下, 只有 用户信息里面 没有 openid 的情况, 才跳转到绑定页面
                if (type == 'login' && !res2.openid) {
                    // 跳转到绑定微信的页面
                    wx.redirectTo({
                        url: '/pages/bind/bind'
                    })
                } else {
                    // 注册之后, 跳回来源页
                    doBack()
                }
            },)
        })
    })
}